package br.com.winesys.geta.base;

import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
import javax.swing.UIManager;

/**
 * Configura os textos dos diálogos e botões para um determinado idioma.
 */
public final class UIManagerPreparer {
	
	private static final String BUNDLE_NAME = "UIManagerDefaults";

	/**
	 * Configura os textos para o idioma padrão (Português).
	 */
	public static void loadDeveloperDefaults() {
		ResourceBundle bundle = ResourceBundle.getBundle(BUNDLE_NAME); 
		loadDevaloperDefaults(bundle);
	}

	/**
	 * Configura os textos de acordo com as propriedados do recurso.
	 */
	public static void loadDeveloperDefaults(InputStream inputStream) throws IOException {
		ResourceBundle bundle = new PropertyResourceBundle(inputStream);
		loadDevaloperDefaults(bundle);
	}
	
	/**
	 * Configura os textos de acordo com as propriedados do recurso.
	 */
	private static void loadDevaloperDefaults(ResourceBundle bundle){
		Enumeration<String> keys = bundle.getKeys();
		while (keys.hasMoreElements()) {
			String key = keys.nextElement();
			UIManager.getDefaults().put(key, bundle.getString(key));
		}
	}
}
